/*

 */
package com.ohos.connent.bizscenecloud.biz.modular.device.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ohos.connent.bizscenecloud.biz.modular.device.entity.BusinessDevLibFile;
import com.ohos.connent.bizscenecloud.biz.modular.device.param.*;
import com.ohos.connent.bizscenecloud.biz.modular.device.result.BizScenesUploadAuthResult;
import org.springframework.web.multipart.MultipartFile;

/**
 * 场景库-Service接口
 **/
public interface BizScenesService extends IService<BusinessDevLibFile> {

    /**
     * 获取场景库文件管理分页列表
     *
     * @param bizScenesPageParam 分页参数
     * @return 分页列表
     */
    Page<BusinessDevLibFile> page(BizScenesPageParam bizScenesPageParam);

    /**
     * 新增场景库文件
     *
     * @param bizScenesAddParam 新增加的场景库文件管理信息
     */
    void add(BizScenesAddParam bizScenesAddParam);


    /**
     * 删除场景库文件
     *
     * @param bizScenesIdsParam 主键id集合
     */
    void delete(BizScenesIdsParam bizScenesIdsParam);

    /**
     * 下载场景库文件
     * @param bizScenesIdParam 主键id
     */
    String getFileDownloadAuthUrlHUAWEI(BizScenesIdParam bizScenesIdParam);

    /**
     * 获取华为云文件上传授权URL和文件id
     * @param bizScenesUploadParam 入参
     * @return
     */
    BizScenesUploadAuthResult getHWYunUploadAuthUrlAndFileId(BizScenesUploadParam bizScenesUploadParam);

    /**
     * 上传文件
     * @param file 文件流
     * @param fileId 文件id
     */
    void upload(MultipartFile file, String fileId);

}
